//用来接受消息

#include <unistd.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/shm.h>
#include <signal.h>
#include <sys/msg.h>

#define BUFFSIZE 20
#define TYPE 1

typedef struct messagebuf
{
    long type;
    char buff[BUFFSIZE];

}msgbuf;

int main()
{
    //创建key
    key_t key = ftok(".",'q');
    if (-1==key)
    {
        printf("创建key失败:%m\n");
        exit(-1);
    }
    printf("创建key 成功\n");
    //获取消息队列
    int msgid = msgget(key,IPC_CREAT);
    if (-1==msgid)
    {
        printf("创建消息队列失败:%m\n");
        exit(-1);
    }

    printf("创建消息队列成功\n");

    //发送消息
    msgbuf msg;
   while (1)
   {
        printf("请输入消息类型\n");
       scanf("%ld",&msg.type);
       printf("请输入消息\n");
       scanf("%s",msg.buff);

      r = msgsnd(msgid,&msg,sizeof(msg),IPC_NOWAIT);
       printf("r:%d\n",r);
   }




    return 0;
}